package org.nfIt.service;

import com.github.pagehelper.PageInfo;
import org.nfIt.dto.product.ProductDto;
import org.nfIt.entity.product.Product;

/**
 * ClossName:ProductService
 * Pakage:org.nfIt.service
 * Description
 *
 * @Author L
 * @Create 2024/8/21 20:33
 * @Version 2023.1.3
 */
public interface ProductService {
    /**
     * 条件分页查询
     * @param page 当前页
     * @param limit 每页记录数
     * @param productDto 条件
     */
    PageInfo<Product> findByPage(Integer page, Integer limit, ProductDto productDto);

    /**
     * 添加商品
     */
    void save(Product product);

    /**
     * 根据商品id查询商品信息
     */
    Product getById(Long id);

    /**
     * 保存修改的数据
     */
    void update(Product product);

    /**
     * 删除
     * @param id 商品id
     */
    void deleteById(Long id);

    /**
     * 商品审核
     * @param id 商品id
     * @param auditStatus 审核状态 1 - 通过 , -1 - 不通过
     * @return
     */
    void updateAuditStatus(Long id, Integer auditStatus);

    /**
     * 商品上下架
     * @param id 商品id
     * @param status 上下架状态
     */
    void updateStatus(Long id, Integer status);
}
